package com.cc.data_explore.logic.rule;

import org.dromara.hutool.core.text.StrUtil;

import java.util.function.Function;

/**
 * StrReplaceRule 类实现了 Function<String, String> 接口，
 * 用于将输入字符串中的指定目标字符串替换为新的字符串。
 *
 * @author cc
 */
public class StrReplaceRule implements Function<String, String> {

    /**
     * 要被替换的目标字符串
     */
    private final String target;
    /**
     * 用于替换目标字符串的新字符串
     */
    private final String replacement;


    /**
     * 构造函数，用于初始化要替换的目标字符串和替换后的新字符串。
     *
     * @param target      要被替换的目标字符串
     * @param replacement 用于替换目标字符串的新字符串
     */
    public StrReplaceRule(String target, String replacement) {
        this.target = target;
        this.replacement = replacement;
    }


    @Override
    public String apply(String input) {
        return StrUtil.replace(input, target, replacement);
    }

}